iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
自我挑戰組

馬克的 Kali Linux 與資安學習小筆記系列 第 4

30-4 Linux 的基礎之網路指令 ifconfig

  • 分享至 

  • xImage
  •  

接下來這篇文章中,我們將要談談在 linux 中很常用到的ifconfigtraceroute 網路相關的指令,網路就是駭客的天空 ~

ifconfig - 主要服務內的網路接口 ( interface ) 資訊

先來說說網路接口,常見的有 :

  • eth0、eth1:以太網( Ethernet )接口,用於有線網絡連接,會根據順序增加。

  • wlan0、wlan1:無線網絡接口,用於Wi-Fi連接,一樣會根據順序增加。

  • lo:本地( Loopback )接口,通常表示為 lo ,用於本地主機使用,IP地址通常是 127.0.0.1。

  • tun0、tun1:TUN/TAP 虛擬網絡接口,通常用於虛擬私有網絡( VPN )或其他虛擬網絡。

  • ppp0、ppp1:點對點協議(PPP)接口。

  • docker0:Docker 使用的虛擬以太網接口,用於容器之間的通信。

  • br0、br1:橋接(Bridge)接口,用於橋接多個網絡接口,以實現網絡分段或虛擬區域網絡。

  • vlanX:虛擬局域網(VLAN)接口,用於實現網絡分割和虛擬化。

然後接下來是我在某一台 k8s pod 裡面執行的結果 :

bash-5.1$ ifconfig
eth0      Link encap:Ethernet  HWaddr 7E:BC:0D:5B:8F:B6
          inet addr:10.3.5.3  Bcast:10.3.5.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:8674734 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8253566 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5068484944 (4.7 GiB)  TX bytes:3935326832 (3.6 GiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1449130 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1449130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:118699320 (113.2 MiB)  TX bytes:118699320 (113.2 MiB)

其中我們上面有兩個接品,分別為 eth0 以太網路與 lo 本地 lookback 接口,然後我這裡拿 eth0 來說說每個欄位的意思 :

  • Link encap:這個欄位表示接口的類型,這裡為以太網( Ethernet )。

  • HWaddr:這個欄位表示網絡接口的 MAC地址,是 7E:BC:0D:5B:8F:B6。

  • inet addr:這個欄位表示接口的 IPv4 ,是 10.3.5.3。

  • Bcast:這個欄位表示廣播地址,是 10.3.5.255。

  • Mask:這個欄位表示子網遮罩,是 255.255.255.0。

  • UP BROADCAST RUNNING MULTICAST:這些是接口的狀態說明,它說明接口啟用中 ( UP ),且支持廣播 ( BROADCAST ) 和多播 ( MULTICAST ) 通信。

  • MTU:這個欄位表示最大傳輸單位,是封包在該接口上傳輸的最大大小。

  • RX packetsTX packets:這些欄位分別顯示接收到和傳輸的封包數量。

  • RX bytesTX bytes:這些欄位分別顯示接收到和傳輸的總 byte 數。

問題

1.  接口的狀能說明中的『 BROADCAST 』與 『 MULTICAST 』是啥 ?

我自已只能以概念上的來說明 :

  • BROADCAST : 通常在網路的世界中,一個點傳資料到一個點,並不是像快遞一樣的 1 vs 1,而且用所謂的 broadcast 擴播的方式,就是和『 每個 』子網路敲敲門,問這個資料的地址是你家的嗎 ?

  • MULTICAST : 又稱群播,也就是將資料傳給特定群組的,和上面的差別在於『 特定群組 』

2. MTU 為什麼在 eth0 ( 1460 ) 與 lo ( 65536 ) 是不同的呢 ?

MTU ( Maximum Transmission Unit ) 代表每個封包的最大大小,然後在網路接口代表的意思為它在這裡支援 xxx 大的,也代表上傳與下載 mtu 都是 1460,然後它有一些重點 :

  • 當在 eth0 上傳大於 1460 byte 資料時,則會被分成 ( fragmentation ) 多個小的封包,每個封包不超過 1460 byte。

  • 然後當被分成小封包後,接受方會需要花資源來將小封包整合。

  • 但如果 MTU 設很大雖然在『 發出端 』與 『 接受端 』處理會比較有效率,但問題就在於 『 傳輸過程會需要較花時間與不穩 ( 往大的一個封包掉了,和小的封包一個掉了那個比較容易處理來想就可以理解了 ) 』,因此需要保持一個平衡。

上面第三點就是為什麼 eth0 為 1460,而 lo 是 65536,因為 lo 是本地接口,它在傳輸過程很穩,所以這也代表它不需要考慮太多外網的不穩定性,所以可以 MTU可以直接開大,比較有效率。

3. MTU 要在那裡改呢 ?

你還是別亂改好了。

4. 可以從 ifconfig 上看到什麼異常嗎 ?

  • 異常的流量 : 剛剛上面有提到 RXBytes 與 TXByte,如果在 eth0 有大量還算正常,但是如果是在你不確定的接口呢 ? 例如 ppp0 ? 是不是怪怪 der ~

  • 奇怪的網路接口 : 就是有個網路通道進到你的電腦,但你不知道是啥。

  • 網路怪怪的 : 看 RX、TX 的 errors、dropped 之類的都可以知道。

參考


上一篇
30-3 Linux 的 Role 與權限
下一篇
30-5 Linux 的基礎之網路指令 traceroute 與 arp
系列文
馬克的 Kali Linux 與資安學習小筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言